package com.example.zxd;

import java.util.Scanner;

/**
 * 新对称素数问题 <p>
 * 描述：
 * 判断一个数是否为对称且不大于五位数的素数。<p>
 * 输入：输入数据两行，第一行一个整数 n，满足1 < n < 60。<p>
 * 第二行有 n 个的正整数x(0 < x < 2^32)，以空格分隔。<p>
 * 输出：对于每个x，如果该数是不大于五位数的对称素数，则输出“Yes”，否则输出“No”。每个判断结果单独列一行。<p>
 * 样例输入：<p>
 * 3 <p>
 * 11 101 272 <p>
 * 样例输出：<p>
 * Yes<p>
 * Yes <p>
 * No <p>
 * 注释：
 * 请注意Yes和No首字母需要大写。
 *
 * @author: scarborough
 * @datetime: 2025/3/19 - 14:48
 * @status: AC
 */
public class PROB1003 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            int num = sc.nextInt();
            // 判断时候是小于等于五位数的对称素数
            if (num <= 99999 && isSymmetry(num) && isPrime(num)) {
                System.out.println("Yes");
            } else {
                System.out.println("No");
            }
        }
    }

    // 判断数字是否对称
    private static boolean isSymmetry(int num) {
        String s = String.valueOf(num);
        StringBuilder sb = new StringBuilder(s);
        return sb.reverse().toString().equals(s);
    }

    // 判断是否是素数方法
    private static boolean isPrime(int num) {
        if (num < 2) return false;
        for (int i = 2; i < num / 2; i++) {
            if (num % i == 0) return false;
        }
        return true;
    }
}
